package com.itheima.api.set.demo01;

import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

/**
 * Set集合的特点：
 *
 * 1. 元素无序
 * 2. 元素唯一
 * 3. 元素没有索引
 *
 */
public class SetDemo01 {

    public static void main(String[] args) {

        // 1. 创建集合对象
        /**
         * Set是一个接口，我们不能直接通过new关键字去创建对象，那么我们要想使用这个集合，那么我们就应该去通过多态的方式去创建集合对象
         * 既然要用到多态，那么我们就需要去选定一个子类： HashSet ， TreeSet
         * 本次我们选择TreeSet
         *
         * 要创建TreeSet的对象，我们就需要使用到TreeSet的构造方法，那么TreeSet给我们提供了那些构造方法？
         * public TreeSet​()
         */
        Set<String> set = new TreeSet<String>() ;

        // 2. 添加元素
        set.add("hello") ;
        set.add("world") ;
        set.add("java") ;
        // set.add("java") ;

        // 3. 遍历集合
        // 3.1 迭代器进行遍历
        Iterator<String> iterator = set.iterator();
        while(iterator.hasNext()) {
            System.out.println(iterator.next());
        }

        System.out.println("--------------------------------------");

        // 3.2 增强for循环进行遍历
        for(String s : set) {
            System.out.println(s);
        }

        // 3.3 forEach方法

        System.out.println("--------------------------------------");
        set.forEach( s -> {
            System.out.println(s);
        });

    }

}
